정적 스코프 [JavaScript] 스코프와 클로저 (Scope & Closure) inner 함수는 outer 함수의 내부에서 선언이 되었기 때문에 inner 함수의 상위 스코프는 outer 함수의 스코프 입니다. 함수가 정의되는 시점에 상위 스코프가 결정되는 것을 정적 스코프(렉시컬 스코프 Lexical scope)라고 합니다. 이후에 해당 함수에 의해 함수 객체가 생성되면 해당 함수 객체는 본인의 상위 스코프를 항상 알 수 있게 됩니다. 이렇게 해당 함수가 상위 스코프... 정적 스코프JavaScript렉시컬 스코프동적 스코프전역 스코프지역 스코프js자유변수클로저중첩 함수스코프 체인블록 레벨 스코프함수 레벨 스코프JavaScript DEEP DIVE 한 장 요약 (스코프) 변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언할 수 있다. 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위(스코프)가 결정된다. 위 예제 코드의 가장 바깥 영역에 선언된 변수 x는 어디서든 참조할 수 있다. 하지만 foo 함수 내부에서 선언된 변수 x는 foo함수 내부에서... localglobalscopedeep dive정적 스코프렉시컬 스코프지역전역Java ScriptJava Script
[JavaScript] 스코프와 클로저 (Scope & Closure) inner 함수는 outer 함수의 내부에서 선언이 되었기 때문에 inner 함수의 상위 스코프는 outer 함수의 스코프 입니다. 함수가 정의되는 시점에 상위 스코프가 결정되는 것을 정적 스코프(렉시컬 스코프 Lexical scope)라고 합니다. 이후에 해당 함수에 의해 함수 객체가 생성되면 해당 함수 객체는 본인의 상위 스코프를 항상 알 수 있게 됩니다. 이렇게 해당 함수가 상위 스코프... 정적 스코프JavaScript렉시컬 스코프동적 스코프전역 스코프지역 스코프js자유변수클로저중첩 함수스코프 체인블록 레벨 스코프함수 레벨 스코프JavaScript DEEP DIVE 한 장 요약 (스코프) 변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언할 수 있다. 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위(스코프)가 결정된다. 위 예제 코드의 가장 바깥 영역에 선언된 변수 x는 어디서든 참조할 수 있다. 하지만 foo 함수 내부에서 선언된 변수 x는 foo함수 내부에서... localglobalscopedeep dive정적 스코프렉시컬 스코프지역전역Java ScriptJava Script